home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Image Ideas: Grandscapes
/
Grandscapes.iso
/
mac
/
Portfolio™ Browser
/
Translators
/
PPC
/
IMPSI2.FLT
/
IMPSI2.FLT.rsrc
/
PSRC_1005_SYSTEM
< prev
next >
Wrap
Text File
|
1997-06-24
|
21KB
|
489 lines
%**********************************************************************/
%* */
%* Copyright (C) 1993-1997 */
%* by Liberty Systems, Redlands, CA. All rights reserved. */
%* */
%* This program is the exclusive property of Liberty Systems and is */
%* issued in strict confidence under a prearranged license agreement */
%* and is not to be disclosed in any manner to persons outside the */
%* licensed organization and shall not be reproduced or disseminated */
%* in whole or part to anyone outside the licensed organization */
%* without the prior written approval of Liberty Systems unless */
%* otherwise provided for by such license agreement. */
%* */
%* This program may be used and copied only in accordance with the */
%* terms of said license agreement and with the inclusion of the */
%* above copyright notice. No title to and ownership of the */
%* software is hereby transfered. The information in this software */
%* is subject to change without notice and should not be construed */
%* as a commitment by Liberty Systems. */
%* */
%**********************************************************************/
false limitaccess
/@bd { bind def } bind def
%
% Initialize the error handling
%
/$error <<
/newerror false
/recordstacks true
/binary false
>> def
/@err_name 20 string def
/@ostack 10 array def
/@estack 250 array def
/@dstack 20 array def
/@err_file (%stderr) (w) file def
/@std_ehandler {
currentfile resetfile
false setglobal
$error begin
/newerror true def
/errorname exch def
/command exch def
@ostack length count lt {@ostack length}{count}ifelse
@ostack exch 0 exch getinterval astore /ostack exch def
ostack aload pop
@estack execstack /estack exch def
@dstack dictstack /dstack exch def
end stop } @bd
/errordict <<
/handleerror {
signalerror
@err_file (Error Type: ) writestring
@err_file $error /errorname get @err_name cvs writestring
@err_file (\nCurrent Object: ) writestring
$error /command get =
% @err_file (Operand Stack: ) writestring
% $error /ostack get ==
% @err_file (Execution Stack: ) writestring
% $error /estack get ==
% @err_file (Dictionary Stack: ) writestring
% $error /dstack get ==
$error /newerror false put }
/configurationerror { /configurationerror @std_ehandler }
/dictfull { /dictfull @std_ehandler }
/dictstackoverflow { /dictstackoverflow @std_ehandler }
/dictstackunderflow { /dictstackunderflow @std_ehandler }
/execstackoverflow { /execstackoverflow @std_ehandler }
/interrupt { /interrupt @std_ehandler }
/invalidaccess { /invalidaccess @std_ehandler }
/invalidcontext { /invalidcontext @std_ehandler }
/invalidexit { /invalidcontext @std_ehandler }
/invalidfileaccess { /invalidfileaccess @std_ehandler }
/invalidfont { /invalidfont @std_ehandler }
/invalidid { /invalidid @std_ehandler }
/invalidrestore { /invalidrestore @std_ehandler }
/ioerror { /ioerror @std_ehandler }
/limitcheck { /limitcheck @std_ehandler }
/nocurrentpoint { /nocurrentpoint @std_ehandler }
/rangecheck { /rangecheck @std_ehandler }
/stackoverflow { /stackoverflow @std_ehandler }
/stackunderflow { /stackunderflow @std_ehandler }
/syntaxerror { /syntaxerror @std_ehandler }
/timeout { /timeout @std_ehandler }
/typecheck { /typecheck @std_ehandler }
/undefined { /undefined @std_ehandler }
/undefinedfilename { /undefinedfilename @std_ehandler }
/undefinedresource { /undefinedresource @std_ehandler }
/undefinedresult { /undefinedresult @std_ehandler }
/unmatchedmark { /unmatchedmark @std_ehandler }
/unregistered { /unregistered @std_ehandler }
/VMerror { /VMerror @std_ehandler }
/sysmem { /sysmem @std_ehandler } >> def
%
% Initialize encodings
%
/StandardEncoding [/.notdef 31{dup}repeat/space/exclam
/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft
/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three
/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater
/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z
/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b
/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright
/asciitilde/.notdef 33{dup}repeat/exclamdown/cent/sterling/fraction/yen
/florin/section/currency/quotesingle/quotedblleft/guillemotleft
/guilsinglleft/guilsinglright/fi/fl/.notdef/endash/dagger/daggerdbl
/periodcentered/.notdef/paragraph/bullet/quotesinglbase/quotedblbase
/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown
/.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent/dieresis
/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron/emdash/.notdef
15{dup}repeat/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef
/Lslash/Oslash/OE/ordmasculine/.notdef 4{dup}repeat/ae/.notdef/.notdef
/.notdef/dotlessi/.notdef/.notdef/lslash/oslash/oe/germandbls/.notdef
/.notdef/.notdef/.notdef] def
/ISOLatin1Encoding [ StandardEncoding 0 128 getinterval aload pop
83 -1 roll pop /minus 83 1 roll
/.notdef 15{dup}repeat/dotlessi/grave/acute/circumflex/tilde/macron
/breve/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen
/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu
/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright
/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex
/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis
/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex
/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis
/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring
/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute
/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde
/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute
/thorn/ydieresis] def
/SymbolEncoding [ StandardEncoding 0 32 getinterval aload pop
/space/exclam/universal/numbersign/existential/percent/ampersand/suchthat
/parenleft/parenright/asteriskmath/plus/comma/minus/period/slash/zero/one
/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal
/greater/question/congruent/Alpha/Beta/Chi/Delta/Epsilon/Phi/Gamma/Eta
/Iota/theta1/Kappa/Lambda/Mu/Nu/Omicron/Pi/Theta/Rho/Sigma/Tau/Upsilon
/sigma1/Omega/Xi/Psi/Zeta/bracketleft/therefore/bracketright
/perpendicular/underscore/radicalex/alpha/beta/chi/delta/epsilon/phi/gamma
/eta/iota/phi1/kappa/lambda/mu/nu/omicron/pi/theta/rho/sigma/tau/upsilon
/omega1/omega/xi/psi/zeta/braceleft/bar/braceright/similar/.notdef
33{dup}repeat/Upsilon1/minute/lessequal/fraction/infinity/florin/club
/diamond/heart/spade/arrowboth/arrowleft/arrowup/arrowright/arrowdown
/degree/plusminus/second/greaterequal/multiply/proportional/partialdiff
/bullet/divide/notequal/equivalence/approxequal/ellipsis/arrowvertex
/arrowhorizex/carriagereturn/aleph/Ifraktur/Rfraktur/weierstrass
/circlemultiply/circleplus/emptyset/intersection/union/propersuperset
/reflexsuperset/notsubset/propersubset/reflexsubset/element/notelement
/angle/gradient/registerserif/copyrightserif/trademarkserif/product
/radical/dotmath/logicalnot/logicaland/logicalor/arrowdblboth
/arrowdblleft/arrowdblup/arrowdblright/arrowdbldown/lozenge/angleleft
/registersans/copyrightsans/trademarksans/summation/parenlefttp
/parenleftex/parenleftbt/bracketlefttp/bracketleftex/bracketleftbt
/bracelefttp/braceleftmid/braceleftbt/braceex/.notdef/angleright/integral
/integraltp/integralex/integralbt/parenrighttp/parenrightex/parenrightbt
/bracketrighttp/bracketrightex/bracketrightbt/bracerighttp/bracerightmid
/bracerightbt/.notdef] def
%
% Initialize the resources
%
/@defres { dup type .rd/InstanceType get ne { errordict /typecheck get exec } if
.rd/Instances get 3 1 roll dup 4 1 roll put } @bd
/@udefres { .rd/Instances get exch undef } @bd
/@fndres { .rd/Instances get exch get } @bd
/@resstt { .rd/Instances get exch known dup { 0 -1 3 -1 roll } if } @bd
/@resfor { .rd/Instances get {pop 3 index wild {2 index exec} {pop} ifelse}
forall pop pop pop } @bd
/@generic { /DefineResource {@defres} /UndefineResource {@udefres}
/FindResource {@fndres} /ResourceStatus {@resstt}
/ResourceForAll {@resfor} /ResourceFileName {@resnam}
/Catagory } @bd
/@fnt_defres { dup /FontName 3 index put dup /FID 1 put readonly @defres } @bd
/@fnt_fndres { dup .rd/Instances get exch known {@fndres}
{dup fontcheck {dup fontload @fndres}
{/Courier eq {errordict /invalidfont get exec}if /Courier
@fnt_fndres}ifelse} ifelse } @bd
/@fnt_setup { /DefineResource {@fnt_defres} /UndefineResource {@udefres}
/FindResource {@fnt_fndres} /ResourceStatus {@resstt}
/ResourceForAll {@resfor} /ResourceFileName {@resnam}
/Catagory } @bd
/FontDirectory <<>> def
/SharedFontDirectory FontDirectory def
/GlobalFontDirectory FontDirectory def
true setglobal
/@catagory <<
/Font << @fnt_setup /Font /InstanceType /dicttype /Instances FontDirectory >>
/Encoding << @generic /Encoding /InstanceType /arraytype /Instances
<< /StandardEncoding StandardEncoding /ISOLatin1Encoding
ISOLatin1Encoding >> >>
/Form << @generic /Form /InstanceType /dicttype /Instances << >> >>
/Pattern << @generic /Pattern /InstanceType /dicttype /Instances << >> >>
/ProcSet << @generic /ProcSet /InstanceType /dicttype /Instances << >> >>
/ColorSpace << @generic /ColorSpace /InstanceType /arraytype /Instances
<< >> >>
/Halftone << @generic /Halftone /InstanceType /dicttype /Instances << >> >>
/ColorRendering << @generic /ColorRendering /InstanceType /dicttype
/Instances << >> >>
/Filter << @generic /Filter /InstanceType /nametype /Instances
<< /ASCIIHexEncode dup /ASCIIHexDecode dup /ASCII85Encode dup
/ASCII85Decode dup /LZWEncode dup /LZWDecode dup
/RunLengthEncode dup /RunLengthDecode dup /CCITTFaxEncode dup
/CCITTFaxDecode dup /DCTEncode dup /DCTDecode dup
/NullEncode dup /SubFileDecode dup >> >>
/ColorSpaceFamily << @generic /ColorSpaceFamily /InstanceType /nametype
/Instances << /DeviceGray dup /DeviceRGB dup /DeviceCMYK dup
/CIEBasedABC dup /CIEBasedA dup /Pattern dup /Indexed dup
/Separation dup >> >>
/Emulator << @generic /Emulator /InstanceType /nametype /Instances << >> >>
/IODevice << @generic /IODevice /InstanceType /nametype /Instances << >> >>
/ColorRenderingType << @generic /ColorRenderingType /InstanceType
/integertype /Instances << >> >>
/FMapType << @generic /FMapType /InstanceType /integertype /Instances
<< >> >>
/FontType << @generic /FontType /InstanceType /integertype /Instances
<< 0 dup 1 dup 3 dup >> >>
/FormType << @generic /FormType /InstanceType /integertype /Instances
<< >> >>
/HalftoneType << @generic /HalftoneType /InstanceType /integertype
/Instances << >> >>
/ImageType << @generic /ImageType /InstanceType /integertype /Instances
<< >> >>
/PatternType << @generic /PatternType /InstanceType /integertype /Instances
<< >> >>
/Catagory << @generic /Catagory /InstanceType /dicttype >>
/Generic << @generic /Generic >>
>> def
@catagory /Catagory get /Instances @catagory put
false setglobal
%
% Initialize the resource tokens
%
/@resbegin { @catagory exch get /.rd exch def } @bd
/defineresource { false limitaccess @resbegin .rd/DefineResource get exec true limitaccess } @bd
/undefineresource { false limitaccess @resbegin .rd/UndefineResource get exec true limitaccess } @bd
/findresource { false limitaccess @resbegin .rd/FindResource get exec true limitaccess } @bd
/resourcestatus { false limitaccess @resbegin .rd/ResourceStatus get exec true limitaccess } @bd
/resourceforall { false limitaccess @resbegin .rd/ResourceForAll get exec true limitaccess } @bd
%
% Define font related tokens
%
/@mtx1 matrix def
/@mtx2 matrix def
/@fakefont { <<
/FontName 5 -1 roll /FontMatrix 6 -1 roll /UniqueID 7 -1 roll
/UniqID 1 index
/FontInfo <<
/version () /Notice () /FullName () /Weight () /ItalicAngle 0
/isFixedPitch false /UnderlinePosition 0 /UnderlineThickness 20 >>
/Encoding 13 -1 roll {SymbolEncoding}{StandardEncoding}ifelse
/PaintType 0
/FontType 1 /Device true /FontBBox {0 0 1000 1000} /Metrics <<>>
/StrokeWidth 0 /Private <<>> /CharStrings <</space {}>> /FID 1 >>
dup /FontName get exch definefont pop } @bd
/@val_font { type /dicttype eq not
{ errordict /typecheck get exec } if } @bd
/scalefont { 1 index @val_font exch 1 dict copy dup dup /FontMatrix get
@mtx1 copy 4 -1 roll dup @mtx2 scale matrix concatmatrix
/FontMatrix exch put } @bd
/makefont { 1 index @val_font exch 1 dict copy dup dup /FontMatrix get
@mtx1 copy 4 -1 roll matrix concatmatrix /FontMatrix exch put } @bd
/findfont { /Font findresource } @bd
/definefont { /Font defineresource } @bd
/undefinefont { /Font undefineresource } @bd
%
% Initialize some tokens
%
/@savglob false def
/@cachelimit 250 def
/@cachesize 100000 def
/@cachelower 25 def
/@ucachelimit 0 def
/@packing false def
/@ismatrix {dup type /arraytype eq
{dup length 6 eq{
/@ismtx true def
{dup type /realtype eq exch type /integertype eq or not
{/@ismtx false def exit}if}forall
@ismtx}
{pop false}ifelse}{pop false}ifelse} @bd
/@drawrect
{4 -2 roll moveto 1 index 0 rlineto 0 exch rlineto
neg 0 rlineto closepath} @bd
/prompt { (PS> ) print flush } @bd
/handleerror { errordict /handleerror get exec } @bd
/execuserobject { userdict /UserObjects get exch get exec } @bd
/undefineuserobject { userdict /UserObjects get exch null put } @bd
/defineuserobject { 1 index 0 lt { errordict /rangecheck get exec } if
systemdict /@savglob currentglobal put false setglobal
userdict /UserObjects 2 copy known not
{ 2 copy 5 index 99 add 100 idiv 100 mul array put } if
get dup length 3 index exch ge
{ 2 index 99 add 100 idiv 100 mul array exch 1 index copy pop
dup userdict /UserObjects 3 -1 roll put } if
3 1 roll put
systemdict /@savglob get setglobal } @bd
/findencoding { /Encoding findresource } @bd
/version (54.0) def
/languagelevel 2 def
/product (Liberty Systems - PSI) def
/revision 320 def
/start { product print ( Revision: ) print revision 100 div
@err_name cvs print (\n) print
(Copyright (C) 1993-1997 Liberty Systems, Redlands, CA.\n) print
(All rights reserved.\n) print } @bd
/setgray { /DeviceGray setcolorspace setcolor } @bd
/setrgbcolor { /DeviceRGB setcolorspace setcolor } @bd
/setcmykcolor { /DeviceCMYK setcolorspace setcolor } @bd
/showpage { copypage erasepage } @bd
/currentscreen { currentcolorscreen 12 3 roll 9 { pop } repeat } @bd
/setscreen { 3 { 3 copy } repeat setcolorscreen
currentscreen 3 1 roll pop pop
-.5 -.5 2 index exec pop
.5 -.5 2 index exec pop
-.5 .5 2 index exec pop
.5 .5 2 index exec pop pop } @bd
20 0 {pop} setscreen
/strokepath {} @bd
/echo {pop} @bd
/initgraphics { initmatrix newpath initclip 1 setlinewidth 0 setlinecap
0 setlinejoin [] 0 setdash 0 setgray 10 setmiterlimit } @bd
/setcachelimit { dup type /integertype eq { systemdict begin /@cachelimit exch def end}
{ errordict /typecheck get exec } ifelse } @bd
/cachestatus {systemdict begin 0 @cachesize 0 40 0 500 @cachelimit end} @bd
/setcacheparams {
systemdict begin
dup type /marktype ne {/@cachelimit exch def}if
dup type /marktype ne {/@cachelower exch def}if
dup type /marktype ne {/@cachesize exch def}if
cleartomark end} @bd
/currentcacheparams {systemdict begin
mark @cachesize @cachelower @cachelimit end} @bd
/setucacheparams {
dup type /marktype ne {/@ucachelimit exch def}if
cleartomark} @bd
/ucachestatus {mark 0 0 0 0 @ucachelimit} @bd
/setcachedevice { 4{pop}repeat setcharwidth } @bd
/setcachedevice2 { 8{pop}repeat setcharwidth } @bd
/execform { gsave dup /Matrix get concat
dup /BBox get aload pop exch 3 index sub exch 2 index sub
rectclip dup /PaintProc get exec grestore } @bd
/selectfont { dup type /arraytype eq
{exch findfont exch makefont setfont}
{exch findfont exch scalefont setfont} ifelse } @bd
/ucache {} @bd
/setshared {setglobal} @bd
/currentshared {currentglobal} @bd
/ufill {gsave newpath uappend fill grestore} @bd
/ueofill {gsave newpath uappend eofill grestore} @bd
/ustroke {gsave newpath dup @ismatrix{exch uappend concat}
{uappend}ifelse stroke grestore} @bd
/ustrokepath {newpath dup @ismatrix
{exch uappend matrix currentmatrix exch concat strokepath setmatrix}
{newpath uappend strokepath}ifelse} @bd
/upath {[exch{/ucache cvx}if pathbbox/setbbox cvx
{/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx} @bd
/uappend {dup type /arraytype eq exch dup type /packedarraytype eq 3 -1 roll
or not {errordict /typecheck get exec}if dup length 2 eq
{uappendencoded}{systemdict begin cvx exec end}ifelse} @bd
/packedarray {array astore readonly} @bd
/setpacking {systemdict begin /@packing exch def end} @bd
/setpacking {systemdict begin /@packing exch def end} @bd
/currentpacking {systemdict /@packing get} @bd
/printobject {(%stdout)(w)file 3 1 roll writeobject} @bd
/setpagedevice {pop} @bd
/currentdevparams {pop <<>>} @bd
/setdevparams {pop pop} @bd
/currentsystemparams {<<>>} @bd
/setsystemparams {pop} @bd
/currentuserparams {<<>>} @bd
/setuserparams {pop} @bd
/currentcolorrendering {<<>>} @bd
/setcolorrendering {pop} @bd
/ineofill {
dup type /arraytype eq 1 index type /packedarraytype eq or
{gsave newpath uappend intersectingpaths grestore}
{xyineofill}ifelse} @bd
/infill {
dup type /arraytype eq 1 index type /packedarraytype eq or
{gsave newpath uappend intersectingpaths grestore}
{xyinfill}ifelse} @bd
/instroke {
dup type /arraytype eq 1 index type /packedarraytype eq or
{gsave newpath uappend intersectingpaths grestore}
{xyinstroke}ifelse} @bd
/inueofill {gsave newpath uappend ineofill grestore} @bd
/inufill {gsave newpath uappend infill grestore} @bd
/inustroke {gsave newpath dup @ismatrix{exch uappend concat}
{uappend}ifelse instroke grestore} @bd
/setpattern {currentcolorspace 0 get /Pattern ne
{[/Pattern currentcolorspace]setcolorspace}if setcolor} @bd
/makepattern {gsave concat <<>> copy dup newpath
gstate currentgstate /Implementation exch put grestore} @bd
/rootfont {currentfont} @bd
/startjob {pop pop false} @bd
/=print {(%stdout)(w)file exch dup type /stringtype eq
{writestring} {save 3 1 roll 256 string cvs writestring restore}
ifelse} @bd
<</Angle 0. /SpotFunction {} /HalftoneType 1 /Frequency 10.>> sethalftone
/letter { statusdict begin 0 setpagetype end } def
/note { statusdict begin 1 setpagetype end } def
/legal {} def
/a4 {} def
%
% Create the page device dictionary
%
/currentpagedevice
<< /PageSize [792 792]
/MediaColor null
/MediaWeight null
/MediaType null
/InputAttributes <<>>
/ManualFeed false
/ImagingBBox null
/OutputType null
/OutputAttributes <<>>
/NumCopies null
/Collate false
/Duplex false
/Tumble false
/OutputFaceUp false
/Jog 0
/Separations false
/HWResolution [400 400]
/Margins [0 0]
/NegativePrint false
/MirrorPrint false
/Orientation 0
/CutMedia 0
/AdvanceMedia 0
/AdvanceDistance 0
/Policies <<>>
/Install {}
/BeginPage {}
/EndPage {} >> def
%
% Create the 'statusdict' dictionary
%
/statusdict
<< /product (Liberty Systems - PSI)
/processcolors 3
/setpageparams {4{pop}repeat}
/setjobtimeout {pop}
/lettertray {}
/setduplexmode {pop}
/settumble {pop}
/setpagetype {statusdict exch /pagetype exch put} >> def
%
% Initialize the global and user dictionary
%
/globaldict true setglobal 200 dict false setglobal def
/shareddict globaldict def
/userdict 200 dict def
globaldict begin
userdict begin
true limitaccess
/Times-Roman findfont 12 scalefont setfont
/=string 256 string def